#ifndef ZARYS_H
#define ZARYS_H

class Zarys {
public:

    Zarys();
   
            
    int czytaj(std::string& typ, double *xp,
           double *yp, double *rp, double *xrp, double *yrp,
           double *ttp, double *alpp, double *alkp);
    

    
private:
    
    
    int modbound(double sc, const std::string& finame, int *nx,
            int nxd, int nstd, double *xp, double *yp,
            double *rp, double *xrp, double *yrp, double *alpp,
            double *alkp, double *ttp);



    int normxy(int mw, int nw, double *xpodz, double *ypodz);

    int outline(std::string& fname, int *n, double *xz,
            double *yz, double *rz, double *xrz, double *yrz,
            double *alp, double *alk, double *t, int *nx2,
            int *ny1, int *ny2);

    int unorm(double *x, double *y, double *r, int il);
    int zarys(int *n, double *xz, double *yz,
            double *rz, double *xrz, double *yrz, int *nx2,
            int *ny1, int *ny2);
    

    int movep(int k1, int *k2, int l, double *xz, double *yz, double *rz, double *xrz, double *yrz);

    int settz(int n, double *xz, double *yz, double *rz, double *alp, double *alk, double *tz);

    int advbrd(int k, int kd, int *nnx2, int *nny1, int *nny2, int nx2, int ny1);

    int chkbeg(int *n, int *ny2, double *xz,
            double *yz, double *rz, double *xrz, double *yrz,
            bool *korect);

    int chkend(int *n, double *xz, double *yz,
            double *rz, double *xrz, double *yrz, int *ny2, bool korect);


    int prom(double *x1, double *y1, double *x2,
            double *y2, double *x3, double *y3, double rr,
            double *x12, double *y12, double *x23, double *y23,
            double *xr, double *yr);

    int promm(double *x1, double *y1, double *x2,
            double *y2, double rr, double *xr, double *yr);

    int promr1(double *x1, double *y1, double *x2,
            double *y2, double *x3, double *y3, double rr,
            double rrm, double *xr, double *yr, double *xrm,
            double *yrm, double *x2p, double *y2p, double *x3p,
            double *y3p);

    int promru(double *x1, double *y1, double *x2,
            double *y2, double *x3, double *y3, double rr,
            double rrm, double *xr, double *yr, double *xrm,
            double *yrm, double *x2p, double *y2p, double *x3p,
            double *y3p);

    int promrz(double *x1, double *y1, double *x2,
            double *y2, double *x3, double *y3, double rr,
            double rrm, double *xr, double *yr, double *xrm,
            double *yrm, double *x2p, double *y2p, double *x3p,
            double *y3p);

    int promr2(double *x1, double *y1, double *x2,
            double *y2, double *x3, double *y3, double rr,
            double rrm, double *xr, double *yr, double *xrm,
            double *yrm, double *x1p, double *y1p, double *x2p,
            double *y2p, double *x3p, double *y3p);

    int prow0(double *x1, double *y1, double *x2,
            double *y2, double *x3, double *y3, double rr,
            double rrm, double *xr, double *yr, double *xrm,
            double *yrm, double *x2p, double *y2p, double *x3p,
            double *y3p);

    int prow1(double *x1, double *y1, double *x2,
            double *y2, double *x3, double *y3, double rr,
            double rrm, double *xr, double *yr, double *xrm,
            double *yrm, double *x2p, double *y2p, double *x3p,
            double *y3p);

    int prow2(double *x1, double *y1, double *x2,
            double *y2, double *x3, double *y3, double *x4,
            double *y4, double *rr1, double rr, double rrm,
            double *xr1, double *yr1, double *xr, double *yr,
            double *xrm, double *yrm, double *x1p, double *y1p,
            double *x2p, double *y2p, double *x3p, double *y3p);

    int prom1_2(double *x1, double *y1, double *x2,
            double *y2, double *x, double *y, double *xr,
            double *yr, double rr, double rrm, double *xrm,
            double *yrm, double *xp, double *yp);

    int promwew(double *x1, double *y1, double *x2,
            double *y2, double *xr, double *yr, double rr,
            double rrm, double *xrm, double *yrm, double *x1p,
            double *y1p, double *x2p, double *y2p);


};

#endif
